package cn.itlb.Demo;
import java.io.IOException;

import org.junit.Test;

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;

public class Testqn {
	//设置好账号的ACCESS_KEY和SECRET_KEY  
    static String ACCESS_KEY = "8klJwGH9ZF0xXujOJk05VpQ8kdpRW3i20q5TiZm9"; 
    static String SECRET_KEY = "JMeprYdKtbP3D_-WoJxAOCwoTLw8LXNjU1uu8H9g";  

      public void upload(){
    	//构造一个带指定Zone对象的配置类
    	  Configuration cfg = new Configuration(Zone.zone2());
    	  //...其他参数参考类注释
    	  UploadManager uploadManager = new UploadManager(cfg);
    	  //...生成上传凭证，然后准备上传
    	  String accessKey = ACCESS_KEY;
    	  String secretKey = SECRET_KEY;
    	  String bucket = "test";
    	  //如果是Windows情况下
    	  String localFilePath = "D:/1.jpg";
    	  //默认不指定key的情况下，以文件内容的hash值作为文件名
    	  String key = null;
    	  Auth auth = Auth.create(accessKey, secretKey);
    	  String upToken = auth.uploadToken(bucket);
    	  try {
    	      Response response = uploadManager.put(localFilePath, key, upToken);
    	      //解析上传成功的结果
    	      DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
    	      System.out.println(putRet.key);
    	      System.out.println(putRet.hash);
    	  } catch (QiniuException ex) {
    	      Response r = ex.response;
    	      System.err.println(r.toString());
    	      try {
    	          System.err.println(r.bodyString());
    	      } catch (QiniuException ex2) {
    	          //ignore
    	      }
    	  }
      }
    @Test
    public void test() throws IOException{    
    	new Testqn().upload();  
    }  
}
